<?	
	/* Se asegura que el archivo es incluido por el index */
	defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
		$this->oTmpObject = new Establecimiento_persona_frm( $this );
	
	class Establecimiento_persona_frm extends Frm
	{
	function setValue ( $ncEstablecimiento, $ncPersona )
		{
			$cSql = "SELECT  *
				FROM gtEstablecimientoPersona
				WHERE ncEstablecimiento = '$ncEstablecimiento' AND  ncPersona = '$ncPersona' ";
			$aDatos = $this->oDatabase->getArray($cSql);	
			$this->setFieldsArray ( $aDatos );
		}
	function Establecimiento_persona_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncEstablecimiento']	= new InputLookUp( "Establecimiento", "ncEstablecimiento" );
			$this->aFields['ncPersona']				= new InputList( "Persona", "ncPersona" );
			$this->aFields['ncRol']						= new InputList( "Relacion", "ncRol" );
			$this->aFields['cObra']						= new InputText( "Obra", "cObra" );	
			$this->aFields['cDescripcion']			= new InputText( "Descripcion", "cDescripcion" );	
			$this->aFields['cObservacion']			= new InputText( "Observacion", "cObservacion" );	
		}
	function initializeForm()
		{
			// Si viene el Ubicacion hace el retrieve
				if ( $this->isRetrievable() && $this->aFields['ncEstablecimiento']->getValue() && $this->aFields['ncPersona']->getValue() )
				{
					$this->setValue( $this->aFields['ncEstablecimiento']->getValue(), $this->aFields['ncPersona']->getValue() );
				}
			// Configura el Titulo
				$this->setLabel( "Establecimiento - Persona" );	
			return true;
		}
	function initializeField( $cField , &$oField )
		{			
			switch ( $cField )
			{
					case 'ncEstablecimiento':
						$oField->setForm( $this );
						initializeEstablecimiento( $oField );
						$oField->setMandatory($this->isMandatory());
					break;
					case 'ncPersona':
						$cSql = "SELECT ncPersona, cNombre, cApellido FROM gtPersona";
						$oField->addColDescription(2);
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						$oField->setMandatory($this->isMandatory());
						$oField->addActionArray( 2, $this->oModule->getActionArray( AGREGAR_PERSONA2) );
						$oField->addActionArray( 3, $this->oModule->getActionArray( MODIFICAR_PERSONA2) );
					break;
					case 'ncRol':
						//$cSql = "SELECT ncFuncion FROM gtEstablecimientoFuncion WHERE ncEstablecimiento = " . $this->aFields[ncEstablecimiento]->getValue();
						//$cFunciones = implode(",", $oField->setMatrix($this->oDatabase->getMatrix($cSql)));
						$cSql = "SELECT ncRol, cdRol FROM gtRolPersona  ";
						$oField->setMatrix($this->oDatabase->getMatrix($cSql));
						$oField->setMandatory($this->isMandatory());
						$oModDocumentacion =& loadModule('documentacion');
						$ncFuncion = $this->oDatabase->getData("SELECT ncFuncion FROM gtEstablecimiento WHERE ncEstablecimiento = ". $this->aFields['ncEstablecimiento']->getValue() );
						$oField->addActionArray( 2, $oModDocumentacion->getActionArray( AGREGAR_GENERICO), 'cModuleTabla=servicios|gtRolPersona&amp;ncFuncion='  . $ncFuncion);
						$oField->addActionArray( 3, $oModDocumentacion->getActionArray( MODIFICAR_GENERICO), 'cModuleTabla=servicios|gtRolPersona' );
					break;
					case 'cDescripcion':
					case 'cObservacion':
						$oField->setEditor();
					break;
			}
 		}
	}
?>